Methods and Systems for Positioning Animated Images Within a Dynamic Keyboard Interface

ABSTRACT

The present disclosure is directed to positioning animated images within a dynamic keyboard interface. In particular, the methods and systems of the present disclosure can: receive data indicating a selection of a particular animated image from amongst a plurality of different animated images presented by a dynamic keyboard interface provided in association with an application; receive data indicating a context of: the dynamic keyboard interface, and/or the application based at least in part on which the plurality of different animated images was selected for presentation by the dynamic keyboard interface; and determine, based at least in part on the data indicating the selection and the data indicating the context, a position within the dynamic keyboard interface for presenting the particular animated image in response to data indicating a subsequent context of the dynamic keyboard interface, the application, and/or a different and distinct application.

RELATED APPLICATIONS

This application claims priority to and the benefit of U.S. ProvisionalPatent Application No. 62/725,641 filed on Aug. 31, 2018. U.S.Provisional Patent Application No. 62/725,641 is hereby incorporated byreference in its entirety.

FIELD

The present disclosure relates generally to animated images. Moreparticularly, the present disclosure relates to positioning animatedimages within a dynamic keyboard interface.

BACKGROUND

Computing devices (e.g., desktop computers, laptop computers, tabletcomputers, smartphones, wearable computing devices, and/or the like) areubiquitous in modern society. They can support communications betweentheir users, provide their users with information about theirenvironments, current events, the world at large, and/or the like. Amyriad of different types of interfaces enable users to interact withsuch devices. For example, many devices include a touchscreen andprovide an interface (e.g., including user-selectable options, akeyboard, and/or the like) configured to enable users to inputinformation. Animated images (e.g., graphics interchange format (GIF)images, and/or the like) can include data indicating a series of orderedimage frames that when rendered produce a moving image, and/or the like.Animated images can be utilized to express, convey, communicate, and/orthe like thoughts, feelings, concepts, emotions, and/or the like.

SUMMARY

Aspects and advantages of embodiments of the present disclosure will beset forth in part in the following description, or can be learned fromthe description, or can be learned through practice of the embodiments.

One example aspect of the present disclosure is directed to acomputer-implemented method. The method can include receiving, by one ormore computing devices, data indicating a selection of a particularanimated image from amongst a plurality of different animated imagespresented by a dynamic keyboard interface provided in association withan application. The method can also include receiving, by the computingdevice(s), data indicating a context of: the dynamic keyboard interfacebased at least in part on which the plurality of different animatedimages was selected for presentation by the dynamic keyboard interface,and/or the application based at least in part on which the plurality ofdifferent animated images was selected for presentation by the dynamickeyboard interface. The method can further include determining, by thecomputing device(s) and based at least in part on the data indicatingthe selection and the data indicating the context, a position within thedynamic keyboard interface for presenting the particular animated imagein response to data indicating a subsequent context of the dynamickeyboard interface, the application, and/or a different and distinctapplication in association with which the dynamic keyboard interface isprovided.

Another example aspect of the present disclosure is directed to asystem. The system can include one or more processors and a memorystoring instructions that when executed by the processor(s) cause thesystem to perform operations. The operations can include receiving dataindicating a context of: a dynamic keyboard interface when a particularanimated image was selected from amongst a plurality of differentanimated images presented by the dynamic keyboard interface inassociation with an application with which the dynamic keyboardinterface is provided, and/or the application with which the dynamickeyboard interface is provided when the particular animated image wasselected from amongst the plurality of different animated imagespresented by the dynamic keyboard interface. The operations can alsoinclude determining, based at least in part on the data indicating thecontext, a position within the dynamic keyboard interface for presentingthe particular animated image in response to data indicating asubsequent context of the dynamic keyboard interface, the application,and/or a different and distinct application in association with whichthe dynamic keyboard interface is provided.

A further example aspect of the present disclosure is directed to one ormore non-transitory computer-readable media. The non-transitorycomputer-readable media can comprise instructions that when executed byone or more computing devices cause the computing device(s) to performoperations. The operations can include receiving data indicating aselection of a particular animated image from amongst a plurality ofdifferent animated images presented by a dynamic keyboard interfaceprovided in association with an application. The operations can alsoinclude receiving data indicating an amount of time between theselection of the particular animated image and: a time when theplurality of different animated images was presented by the dynamickeyboard interface, and/or a time when the particular animated image wasinitially made available for selection from amongst the plurality ofdifferent animated images by the dynamic keyboard interface. Theoperations can further include determining, based at least in part onthe data indicating the selection and the data indicating the amount oftime, a position within the dynamic keyboard interface for presentingthe particular animated image in response to data indicating a contextof: the dynamic keyboard interface, the application, and/or a differentand distinct application in association with which the dynamic keyboardinterface is provided.

Other aspects of the present disclosure are directed to various systems,apparatuses, non-transitory computer-readable media, user interfaces,and electronic devices.

These and other features, aspects, and advantages of various embodimentsof the present disclosure will become better understood with referenceto the following description and appended claims. The accompanyingdrawings, which are incorporated in and constitute a part of thisspecification, illustrate example embodiments of the present disclosureand, together with the description, serve to explain the relatedprinciples.

BRIEF DESCRIPTION OF THE DRAWINGS

Detailed discussion of embodiments directed to one of ordinary skill inthe art is set forth in the specification, which makes reference to theappended figures, in which:

FIG. 1 depicts an example computing environment according to exampleembodiments of the present disclosure;

FIGS. 2A-E depict an example event sequence according to exampleembodiments of the present disclosure;

FIGS. 3A-Y depict example graphical user interfaces (GUIs) according toexample embodiments of the present disclosure; and

FIG. 4 depicts an example method according to example embodiments of thepresent disclosure.

DETAILED DESCRIPTION

Example aspects of the present disclosure are directed to positioninganimated images within a dynamic keyboard interface. In particular,animated images can be identified based at least in part on a context ofthe dynamic keyboard interface (e.g., one or more search terms input viathe dynamic keyboard interface, data presented by and/or input into oneor more applications in association with which the dynamic keyboardinterface is provided, and/or the like); positioned based at least inpart on the context, their selection frequencies, and/or the like; andpresented (e.g., for browsing, selection, and/or the like) by thedynamic keyboard interface in association with an application.

Animated images can be presented to the user in the dynamic keyboardinterface based on prior interactions with the animated images and/orother context information. As one example, generally popular animatedimages (e.g., among many users) can be place more prominently within thedynamic keyboard interface for the user. As another example, animatedimages that the user has previously selected can be displayed and/oremphasized within the dynamic keyboard interface. Additionally, animatedimages that are similar with such previously selected animated imagescan be displayed and/or emphasized within the dynamic keyboardinterface.

As another example, some animated images can be more frequently sharedwith multiple recipients (e.g., in a “group chat”) than shared with asingle recipient (e.g., in a one-on-one conversation). Animated imagesthat are more frequently shared with multiple recipients can bedisplayed or emphasized (e.g., more prominently displayed than otheranimated images) within the dynamic keyboard interface when the user issearching for an animated image to send to multiple recipients.Similarly, animated images that are more frequently shared with singlerecipients can be displayed or emphasized (e.g., more prominentlydisplayed than other animated images) within the dynamic keyboardinterface when the user is searching for an animated image to send to asingle recipient.

As a further example, animated images that are contextually relevantbased on a user's prior interactions with the user device can be moreprominently presented to the user. The user can select an animated imageto send to a first contact. For instance, during a message exchange witha friend, the user can suggest going to the beach for an upcomingweekend. Later, when the user is searching for an animated image to sendto a second contact, the computing system can select animated imagesbased on contextual information gleaned from the user's interaction withthe first contact. For instance, in response to a message from theuser's boss asking if the user can work during the upcoming weekend, thecomputing system can display or emphasize animated images related to thebeach within the dynamic keyboard interface.

As yet another example, an animated image can be displayed or emphasizedbased on sequential sharing information indicating the user's previousinteractions and/or other user's previous interactions. For example,particular gifs can often be shared immediately following otherparticular animate images or in response to other particular animateimage. The computing system can track and record such correlations andsuggest animated images based on such contextual information. Forinstance, a user can share an animated image (e.g., an animated imagedepicting a person saying “call me” and gesturing with a phone).Statistically, this particular user and/or other users may often replywith particular animated images (e.g., an animated image including textor images conveying “thumbs up,” “what's up?” or the like) in responseto the particular animated image. Such animated images can be displayedor emphasized based on contextual information including suchcorrelations.

As a further example, animated images can be displayed and/or emphasizedbased on contextual information that includes a “time-to-share” metric.The “time-to-share” metric can indicate a duration of time between (1)when the user began searching for an animated image (e.g., entered asearch criteria and/or began scrolling through animated images withinthe dynamic keyboard interface) and (2) when the user selects one of theanimated images to share or otherwise manipulate and/or engage. As aresult, the computing system and/or dynamic keyboard interface canselect animated images for display and/or emphasis to the user in amanner that shortens search time for the user.

Additionally, in some implementations, the animated images can bedisplayed and/or emphasized based on context data can collected acrossmultiple computer applications (e.g., a texting application, e-mailapplication, etc.). The dynamic keyboard interface can be configured tointerface with the multiple applications. Context data can be acquiredwhen the dynamic keyboard is interfacing with one computer application(e.g., a texting application). Such context data can be used to selectwhich animated images to display and/or emphasize when the dynamickeyboard interface is later used with another distinct computerapplication (e.g., an e-mail application).

The dynamic keyboard interface (e.g., for use via a touchscreen, and/orthe like) can be provided (e.g., as part of an operating system (OS),third-party application, plugin, and/or the like) to one or more userdevices (e.g., computers, smartphones, tablet computing devices,wearable computing devices, and/or the like). One or more aspects of thedynamic keyboard interface can be configured to provide access (e.g.,via search functionality, suggestion functionality, browsingfunctionality, and/or the like) to a corpus of animated images (e.g.,graphics interchange format (GIF) images, and/or the like), for example,uploaded to, stored by, indexed by, managed by, and/or the like aremotely located computing system (e.g., one or more computing devices,and/or the like).

A user (e.g., utilizing a user device providing the dynamic keyboardinterface, and/or the like) can perform one or more actions that providea context, for example, of the user device, the dynamic keyboardinterface, an application (e.g., a messaging application, and/or thelike) in association with which the dynamic keyboard interface isprovided, and/or the like. For example, the user can locate the userdevice at a particular geographic location, input one or more searchterms via the dynamic keyboard interface, interact with the applicationvia its interface, and/or the like. Data indicating the context can begenerated (e.g., by the user device, the dynamic keyboard interface,and/or the like), communicated to the computing system (e.g., via one ormore networks, and/or the like), and received by the computing system,which can update one or more records regarding the corpus of animatedimages based at least in part on such data.

Based at least in part on the data indicating the context, the record(s)regarding the corpus of animated images, and/or the like, the computingsystem can identify a plurality of different animated images associatedwith the context for presentation by the dynamic keyboard interface inassociation with the application (e.g., animated images relevant,responsive, and/or the like to the context). In some embodiments, one ormore of the plurality of different animated images associated with thecontext can include one or more advertisements (e.g., for one or moreproducts, services, media content items, and/or the like).

In accordance with aspects of the disclosure, for each of one or moreanimated images included in the plurality of different animated imagesassociated with the context, the computing system can determine (e.g.,based at least in part on the data indicating the context, the record(s)regarding the corpus of animated images, and/or the like) a positionwithin the dynamic keyboard interface for presenting the animated image.Data indicating the plurality of different animated images associatedwith the context, their respective determined positions, and/or the likecan be generated (e.g., by the computing system, and/or the like) andcommunicated (e.g., via the network(s), and/or the like) to the dynamickeyboard interface (e.g., the user device, and/or the like), which canpresent the plurality of different animated images associated with thecontext in association with the application based at least in part ontheir respective determined positions. For example, the plurality ofdifferent animated images associated with the context can be presentedin an ordered, sorted, and/or the like fashion (e.g., animated imagesdetermined to be more relevant, responsive, and/or the like to thecontext can be presented earlier, more prominently, and/or the like).

A user can select one or more particular animated images from amongstthe plurality of different animated images associated with the contextvia the dynamic keyboard interface. For example, the user can select oneor more of the particular animated image(s) for communication (e.g.,input, pasting, and/or the like) by the dynamic keyboard interface tothe application. Additionally or alternatively, the user can select oneor more of the particular animated image(s) for future accessibilitywithin the dynamic keyboard interface (e.g., designate such particularanimated image(s) for frequent use, “favorite” them, and/or the like).

Data indicating the selection, selection type (e.g., for communicationto the application, for future accessibility, and/or the like),particular animated image(s) selected, and/or the like can be generated(e.g., by the user device, the dynamic keyboard interface, and/or thelike), communicated to the computing system (e.g., via the network(s),and/or the like), and received by the computing system, which can updatethe record(s) regarding the corpus of animated images based at least inpart on such data.

A user (e.g., utilizing the user device providing the dynamic keyboardinterface, a different and distinct user device providing the dynamickeyboard interface, and/or the like) can perform one or more actionsthat provide a subsequent context, for example, of such user device, thedynamic keyboard interface, the application (e.g., the messagingapplication, and/or the like) in association with which the dynamickeyboard interface is provided, a different and distinct application(e.g., an email application, and/or the like) in association with whichthe dynamic keyboard interface is provided, and/or the like. Forexample, the user can locate such user device at a particular geographiclocation, input one or more search terms via the dynamic keyboardinterface, interact with such application(s) via their respectiveinterface(s), and/or the like. Data indicating the subsequent contextcan be generated (e.g., by the user device, the different and distinctuser device, the dynamic keyboard interface, and/or the like),communicated to the computing system (e.g., via the network(s), and/orthe like), and received by the computing system, which can update therecord(s) regarding the corpus of animated images based at least in parton such data.

Based at least in part on the data indicating the previous context; thedata indicating the subsequent context; the data indicating theselection, selection type, particular animated image(s) selected, and/orthe like; the record(s) regarding the corpus of animated images; and/orthe like, the computing system can identify a plurality of differentanimated images associated with the subsequent context for presentationby the dynamic keyboard interface in association with the applicationand/or the different and distinct application (e.g., animated imagesrelevant, responsive, and/or the like to the subsequent context). Insome embodiments, one or more of the plurality of different animatedimages associated with the subsequent context can include one or moreadvertisements.

In accordance with aspects of the disclosure, for each of one or moreanimated images included in the plurality of different animated imagesassociated with the subsequent context, the computing system candetermine (e.g., based at least in part on the data indicating theprevious context; the data indicating the subsequent context; the dataindicating the selection, selection type, particular animated image(s)selected, and/or the like; the record(s) regarding the corpus ofanimated images; and/or the like) a position within the dynamic keyboardinterface for presenting the animated image.

Data indicating the plurality of different animated images associatedwith the subsequent context, their respective determined positions,and/or the like can be generated (e.g., by the computing system, and/orthe like) and communicated (e.g., via the network(s), and/or the like)to the dynamic keyboard interface (e.g., the user device, the differentand distinct user device, and/or the like), which can present theplurality of different animated images associated with the subsequentcontext in association with the application and/or the different anddistinct application based at least in part on their respectivedetermined positions. For example, the plurality of different animatedimages associated with the subsequent context can be presented in anordered, sorted, and/or the like fashion (e.g., animated imagesdetermined to be more relevant, responsive, and/or the like to thesubsequent context can be presented earlier, more prominently, and/orthe like).

In some embodiments, the animated image(s) included in the plurality ofdifferent animated images associated with the subsequent context caninclude one or more of the particular animated image(s) that werepreviously selected. In some of such embodiments, the position withinthe dynamic keyboard interface for presenting such particular animatedimage(s) can be determined based at least in part on their having beenpreviously selected, the context associated with their selection, and/orthe like. For example, such particular animated image(s) can bepresented earlier, more prominently, and/or the like than they otherwisewould have been (e.g., absent their previous selection, and/or thelike). In some embodiments, one or more of such particular animatedimage(s) can include one or more advertisements.

In some embodiments, the data indicating the previous context canindicate one or more search terms input via the dynamic keyboardinterface. In some of such embodiments, the data indicating thesubsequent context can indicate at least one of such search term(s)input via the dynamic keyboard interface.

In some embodiments, the data indicating the previous context canindicate data presented by and/or input into the application associatedwith the previous context, and the data indicating the subsequentcontext can indicate data one or more of presented by or input into suchapplication, the different and distinct application, the dynamickeyboard interface, and/or the like. In some of such embodiments, for atleast one animated image of the animated image(s) included in theplurality of different animated images associated with the subsequentcontext, determining the position within the dynamic keyboard interfacefor presenting such animated image can include determining the datapresented by and/or input into the application associated with theprevious context corresponds at least in part to the data one or more ofpresented by or input into such application, the different and distinctapplication, the dynamic keyboard interface, and/or the like.

In some embodiments, the data indicating the previous context canindicate an animated image previously selected via the dynamic keyboardinterface, a time when the animated image previously selected via thedynamic keyboard interface was selected, and/or the like. In some ofsuch embodiments, the data indicating the subsequent context can includedata indicating selection of the animated image previously selected viathe dynamic keyboard interface, a time associated with the selection ofthe animated image via the dynamic keyboard interface, and/or the like.

In some embodiments, the data indicating the previous context canindicate a human-language setting associated with a user device on whichthe application associated with the previous context is executed; ageographic area to which such user device is registered; a networkidentifier associated with such user device; a geographic location ofsuch user device associated with the selection of the particularanimated image(s); a time associated with the selection of theparticular animated image(s); a time of day associated with theselection of the particular animated image(s); a date associated withthe selection of the particular animated image(s); a day of weekassociated with the selection of the particular animated image(s); amonth associated with the selection of the particular animated image(s);a year associated with the selection of the particular animatedimage(s); a size of an audience associated with the selection of theparticular animated image(s); an entity that provided one or more of theparticular animated image(s) and/or content included in one or more ofthe particular animated image(s); and/or the like. In some of suchembodiments, the data indicating the subsequent context can include datacorresponding at least in part to the human-language setting, thegeographic area, the network identifier, the geographic location, thetime, the time of day, the date, the day of week, the month, the year,the size of the audience, the entity, and/or the like.

In some embodiments, the computing system can receive (e.g., from theuser device on which the application associated with the previouscontext is executed, via the network(s), and/or the like) dataindicating an amount of time between the selection of the particularanimated image(s) and a time when the plurality of different animatedimages associated with the previous context was presented by the dynamickeyboard interface, a time when the particular animated image(s)selected were initially made available for selection from amongst theplurality of different animated images associated with the previouscontext by the dynamic keyboard interface, and/or the like. In some ofsuch embodiments, for at least one animated image of the animatedimage(s) included in the plurality of different animated imagesassociated with the subsequent context, determining the position withinthe dynamic keyboard interface for presenting such animated image caninclude determining such position based at least in part on the dataindicating the amount of time.

In some embodiments, determining such position based at least in part onthe data indicating the amount of time can include normalizing the dataindicating the amount of time based at least in part on a position ofsuch animated image within the dynamic keyboard interface when theplurality of different animated images associated with the previouscontext was presented by the dynamic keyboard interface, a position ofsuch animated image within the dynamic keyboard interface when suchanimated image was initially made available for selection from amongstthe plurality of different animated images associated with the previouscontext by the dynamic keyboard interface, and/or the like.

In some embodiments, for at least one animated image of the animatedimage(s) included in the plurality of different animated imagesassociated with the subsequent context, determining the position withinthe dynamic keyboard interface for presenting such animated image caninclude determining, based at least in part on the data indicating theselection of such animated image, a selection frequency for suchanimated image. In some of such embodiments, the position for suchanimated image can be determined based at least in part on the selectionfrequency for such animated image, one or more selection frequencies forsuch position, and/or the like.

The technology indicated herein can provide a number of technicaleffects and benefits. For example, as previously indicated, thetechnology indicated herein can present animated images determined to bemore relevant, responsive, and/or the like to a given context earlier,more prominently, and/or the like, thereby reducing time spent browsingfor, locating, and/or the like such animated images, thus conservingcomputing resources (e.g., energy, processing cycles, network bandwidth,and/or the like).

With reference now to the Figures, example embodiments of the presentdisclosure will be discussed in further detail.

FIG. 1 depicts an example computing environment according to exampleembodiments of the present disclosure.

Referring to FIG. 1 , environment 100 can include one or more computingdevices (e.g., one or more desktop computers, laptop computers, tabletcomputers, mobile devices, smartphones, wearable devices, servers,and/or the like). For example, environment 100 can include computingdevices 10, 20, 30, 40, and 50 and computing system 112, which caninclude one or more computing devices. Environment 100 can also includeone or more networks 110 (e.g., one or more wired networks, wirelessnetworks, and/or the like). Network(s) 110 can interface computingdevice(s) 10, 20, 30, 40, and/or 50 with one another and/or withcomputing system 112.

Computing device 10 can include one or more processor(s) 102, one ormore communication interfaces 104, and memory 106 (e.g., one or morehardware components for storing executable instructions, data, and/orthe like). Communication interface(s) 104 can enable computing device 10to communicate with computing device(s) 20, 30, 40, and/or 50 and/orwith computing system 112. Memory 106 can include (e.g., store, and/orthe like) instructions 108. When executed by processor(s) 102,instructions 108 can cause computing device 10 to perform one or moreoperations, functions, and/or the like indicated herein. It will beappreciated that computing device(s) 20, 30, 40, and/or 50 can includeone or more of the components indicated above with respect to computingdevice 10.

Computing system 112 can include one or more processor(s) 114, one ormore communication interfaces 116, and memory 118 (e.g., one or morehardware components for storing executable instructions, data, and/orthe like). Communication interface(s) 116 can enable computing system112 to communicate with computing device(s) 10, 20, 30, 40, and/or 50.Memory 118 can include (e.g., store, and/or the like) instructions 120.When executed by processor(s) 114, instructions 120 can cause computingsystem 112 to perform one or more operations, functions, and/or the likeindicated herein.

Unless explicitly indicated otherwise, the operations, functions, and/orthe like indicated herein can be performed by computing device(s) 10,20, 30, 40, and/or 50 and/or computing system 112 (e.g., by computingdevice 10, 20, 30, 40, or 50, by computing system 112, by a combinationof one or more of computing device(s) 10, 20, 30, 40, and/or 50 and/orcomputing system 112, and/or the like).

FIGS. 2A-E depict an example event sequence according to exampleembodiments of the present disclosure.

Referring to FIG. 2A, at (202), computing device 10 can communicate(e.g., via network(s) 110 (as indicated by the pattern-filled box overthe line extending downward from network(s) 110), and/or the like) dataindicating one or more animated images (e.g., graphics interchangeformat (GIF) images, and/or the like), advertisements, advertisementcontent, contexts in which to present such animated image(s),advertisement(s), advertisement content, and/or the like to computingsystem 112, which can receive and store such data, one or more recordsgenerated based at least in part thereon, and/or the like. For example,computing system 112 can be remotely located from computing device(s)10, 20, 30, 40, and/or 50 and can receive uploads to, store, index,manage, and/or the like a corpus of animated images, one or more recordsregarding such corpus, and/or the like.

Similarly, at (204), computing device 20 can communicate data indicatingone or more animated images, advertisements, advertisement content,contexts in which to present such animated image(s), advertisement(s),advertisement content, and/or the like to computing system 112, whichcan receive and store such data, one or more records generated based atleast in part thereon, and/or the like; and, at (206), computing device30 can communicate data indicating one or more animated images,advertisements, advertisement content, contexts in which to present suchanimated image(s), advertisement(s), advertisement content, and/or thelike to computing system 112, which can receive and store such data, oneor more records generated based at least in part thereon, and/or thelike.

Computing device 40 can be a user device (e.g., one or more associatedcomputing devices at least temporarily associated with a particularuser, user account, and/or the like). Computing device 50 can be a userdevice (e.g., one or more associated computing devices at leasttemporarily associated with a different and distinct user, user account,and/or the like) different and distinct from computing device 40.

Computing device(s) 40 and/or 50 can execute one or more different anddistinct applications. For example, referring to FIG. 3A, computingdevice(s) 40 and/or 50 can execute an application (e.g., a messagingapplication, and/or the like) associated with graphical user interface(GUI) element 302, a different and distinct application (e.g., an emailapplication, and/or the like) associated with element 304, and/or thelike.

Referring to FIG. 3B, in some embodiments (e.g., to mitigate potentialprivacy concerns, and/or the like), one or more users of computingdevice(s) 40 and/or 50 can be provided (e.g., via element 306, and/orthe like) with information regarding collection of certain data, and/orthe like, one or more controls (e.g., via element(s) 308 and/or 310,and/or the like) for allowing the user(s) to make one or more electionsas to if and/or when the methods, systems, functions, operations, and/orthe like indicated herein can enable collection of certain data, and/orthe like (e.g., presented by and/or input into the application(s), thedynamic keyboard interface indicated herein, and/or the like).Additionally or alternatively, certain data (e.g., presented by and/orinput into the application(s), the dynamic keyboard interface indicatedherein, and/or the like) can be treated in one or more ways before beingstored, utilized, and/or the like (e.g., so personally identifiableinformation can be removed, and/or the like). For example, a user'sidentity, data associated therewith, and/or the like can be treated sothat no personally identifiable information can be determined for theuser, and/or the like. Thus, the user(s) can have control over what datais collected about them, how that information is used, what informationthey are provided, and/or the like.

In accordance with aspects of the disclosure, a dynamic keyboardinterface (e.g., for use via a touchscreen, and/or the like) can beprovided (e.g., as part of an operating system (OS), third-partyapplication, plugin, and/or the like) to, by, and/or the like computingdevice(s) 40 and/or 50. For example, referring to FIG. 3C, portion 314of the illustrated GUI can be associated with such a dynamic keyboardinterface. One or more aspects of the dynamic keyboard interface can beconfigured to provide access (e.g., via search functionality, suggestionfunctionality, browsing functionality, and/or the like) to the corpus ofanimated images uploaded to, stored by, indexed by, managed by, and/orthe like computing system 112. The dynamic keyboard interface can beprovided in association with one or more of the application(s) executedby computing device(s) 40 and/or 50. For example, portion 312 can beassociated with the application (e.g., the messaging application, and/orthe like) associated with element 302, and, as illustrated, the dynamickeyboard interface can be provided in association with such application.

Element 316 can correspond to an input area (e.g., for composing amessage, and/or the like), and element 318 can correspond to an optionto communicate the data located in such input area to the applicationassociated with portion 312 (e.g., for subsequent communication overnetwork(s) 110 to a computing device associated with “Joe Friend,”and/or the like).

Element 320 can be configured to cause the dynamic keyboard interface totoggle, flip, rotate, and/or the like between various differentkeyboards, for example, associated with different languages, alphabets,and/or the like (e.g., the illustrated qwerty keyboard, and/or thelike). In accordance with aspects of the disclosure, such keyboards caninclude an animated-image keyboard configured to present (e.g., forbrowsing, selection, and/or the like) various different animated images.

Referring again to FIG. 2A, at (208), a user can perform one or moreactions that provide one or more different and distinct contextsassociated with computing device 40. The context(s) provided can be ofcomputing device 40, the dynamic keyboard interface, the applicationassociated with portion 312, and/or the like. For example, the user canlocate computing device 40 at a particular geographic location, interactwith the application associated with portion 312 via its interface,and/or the like.

At (210), computing device 40 (e.g., the dynamic keyboard interface,and/or the like) can generate data indicating such context(s) and cancommunicate such data to computing system 112, which can receive thedata and update the record(s) regarding the corpus of animated imagesbased at least in part thereon. In some embodiments, the data indicatingthe context(s) can indicate data presented by and/or input into thedynamic keyboard interface, the application associated with portion 312,and/or the like (e.g., “We're at the coast.”; “Nice! Enjoy the beach.”;and/or the like).

Based at least in part on the data indicating the context(s), therecord(s) regarding the corpus of animated images, and/or the like, at(212), computing system 112 can identify a plurality of differentanimated images associated with the context(s) for presentation by thedynamic keyboard interface in association with the applicationassociated with portion 312 (e.g., animated images relevant, responsive,and/or the like to the context(s)).

In some embodiments, one or more of the plurality of different animatedimages associated with the context(s) can include one or moreadvertisements (e.g., for one or more products, services, media contentitems, and/or the like). For example, such animated image(s) can includeadvertisement content, data (e.g., a link, and/or the like) configuredto cause an application executed by computing device(s) 40 and/or 50(e.g., a web browser, an application associated with the subject,source, and/or the like of the advertisement, and/or the like) topresent, navigate to, and/or the like content associated with theadvertisement, advertisement content, and/or the like.

In accordance with aspects of the disclosure, based at least in part onthe data indicating the context(s), the record(s) regarding the corpusof animated images, and/or the like, computing system 112 can determine,for each of one or more animated images included in the plurality ofdifferent animated images associated with the context(s), a positionwithin the dynamic keyboard interface for presenting the animated image.

At (214), computing system 112 can generate data indicating theplurality of different animated images associated with the context(s),their respective determined positions, and/or the like and cancommunicate such data to computing device 40 (e.g., to the dynamickeyboard interface), which can receive the data.

Referring to FIG. 3D, responsive to the user invoking element 320,and/or the like, the dynamic keyboard interface can toggle (e.g., fromthe qwerty keyboard, and/or the like) to the illustrated animated-imagekeyboard, and/or the like, which can present the plurality of differentanimated images associated with the context(s) based at least in part ontheir respective determined positions. For example, the plurality ofdifferent animated images associated with the context(s) can bepresented in an ordered, sorted, and/or the like fashion (e.g., animatedimages determined to be more relevant, responsive, and/or the like tothe context(s) can be presented earlier, more prominently, and/or thelike).

As illustrated, multiple different animated images from the plurality ofdifferent animated images associated with the context(s) can besimultaneously displayed by the dynamic keyboard interface alongside oneanother. For example, the dynamic keyboard interface can simultaneouslydisplay animated images 324, 326, and 328, amongst others of theplurality of different animated images associated with the context(s)and/or the like. It will be appreciated that the plurality of differentanimated images associated with the context(s) can include additionalanimated images (not illustrated), which can, for example, be displayedby interacting with the interface (e.g., swiping left, and/or the like).

Referring again to FIG. 2A, at (216), a user can select one or moreparticular animated images from amongst the plurality of differentanimated images associated with the context(s) via the dynamic keyboardinterface. In some embodiments, the user can select one or more of theparticular animated image(s) for communication (e.g., input, pasting,and/or the like) by the dynamic keyboard interface to the applicationassociated with portion 312 (FIG. 3D). Additionally or alternatively,the user can select one or more of the particular animated image(s) forfuture accessibility within the dynamic keyboard interface (e.g.,designate such particular animated image(s) for frequent use, “favorite”them, and/or the like). For example, referring to FIG. 3E, the user canselect animated image 324 for future accessibility within the dynamickeyboard interface (e.g., as illustrated by the star overlaid onanimated image 324, and/or the like).

At (218), computing device 40 can generate data indicating theselection(s), selection type(s) (e.g., for future accessibility, and/orthe like), particular animated image(s) selected (e.g., animated image324, and/or the like) and can communicate such data to computing system112, which can receive the data and, at (220), can update the record(s)regarding the corpus of animated images based at least in part thereon.

Referring to FIG. 2B, at (222), a user can perform one or more actionsthat provide one or more different and distinct current contextsassociated with computing device 40. The context(s) provided can be ofcomputing device 40, the dynamic keyboard interface, the applicationassociated with portion 312, and/or the like. For example, element 322can correspond to a search box for inputting one or more search terms tobe used at least in part to identify one or more animated images, and/orthe like, and, referring to FIG. 3F, the user can invoke element 322 andutilize the illustrated keyboard to input one or more search terms(e.g., “shell,” and/or the like).

At (224), computing device 40 (e.g., the dynamic keyboard interface,and/or the like) can generate data indicating such context(s) and cancommunicate such data to computing system 112, which can receive thedata and update the record(s) regarding the corpus of animated imagesbased at least in part thereon. In some embodiments, the data indicatingthe context(s) can indicate the inputted search term(s), and/or thelike.

Based at least in part on the data indicating the current context(s),the data indicating the previous context(s) (e.g., received at (210),and/or the like), the data indicating the previous selection(s),selection type(s), particular animated image(s) selected, and/or thelike (e.g., received at (218), and/or the like), the record(s) regardingthe corpus of animated images, and/or the like, at (226), computingsystem 112 can identify a plurality of different animated imagesassociated with the current context(s) for presentation by the dynamickeyboard interface in association with the application associated withportion 312 (e.g., animated images relevant, responsive, and/or the liketo the current context(s)). In some embodiments, one or more of theplurality of different animated images associated with the currentcontext(s) can include one or more advertisements.

Based at least in part on the data indicating the current context(s),the data indicating the previous context(s) (e.g., received at (210),and/or the like), the data indicating the previous selection(s),selection type(s), particular animated image(s) selected, and/or thelike (e.g., received at (218), and/or the like), the record(s) regardingthe corpus of animated images, and/or the like, computing system 112 candetermine, for each of one or more animated images included in theplurality of different animated images associated with the currentcontext(s), a position within the dynamic keyboard interface forpresenting the animated image.

At (228), computing system 112 can generate data indicating theplurality of different animated images associated with the currentcontext(s), their respective determined positions, and/or the like andcan communicate such data to computing device 40 (e.g., to the dynamickeyboard interface), which can receive the data and, referring to FIG.3G, can toggle (e.g., from the qwerty keyboard, and/or the like) to theillustrated animated-image keyboard, and/or the like, which can presentthe plurality of different animated images associated with the currentcontext(s) based at least in part on their respective determinedpositions. For example, the plurality of different animated imagesassociated with the current context(s) can be presented in an ordered,sorted, and/or the like fashion (e.g., animated images determined to bemore relevant, responsive, and/or the like to the current context(s) canbe presented earlier, more prominently, and/or the like).

As illustrated, multiple different animated images from the plurality ofdifferent animated images associated with the current context(s) can besimultaneously displayed by the dynamic keyboard interface alongside oneanother. For example, the dynamic keyboard interface can simultaneouslydisplay animated images 326, 330, and 332, amongst others of theplurality of different animated images associated with the currentcontext(s), and/or the like.

At (230), a user can select one or more particular animated images fromamongst the plurality of different animated images associated with thecurrent context(s) via the dynamic keyboard interface. For example,referring to FIG. 3H, the user can select animated images 330 and 332for communication by the dynamic keyboard interface to the applicationassociated with portion 312, and/or the like, and, referring to FIG. 3I,responsive to the user invoking element 318, and/or the like, thedynamic keyboard interface can communicate animated images 330 and 332to the application associated with portion 312, and/or the like.

At (232), computing device 40 can generate data indicating theselection(s), selection type(s) (e.g., for communication to theapplication associated with portion 312, and/or the like), particularanimated image(s) selected (e.g., animated images 330 and 332, and/orthe like) and can communicate such data to computing system 112, whichcan receive the data and, at (234), can update the record(s) regardingthe corpus of animated images based at least in part thereon.

At (236), a user can perform one or more actions that provide one ormore different and distinct current contexts associated with computingdevice 40. The context(s) provided can be of computing device 40, thedynamic keyboard interface, the application associated with portion 312,and/or the like. For example, referring to FIG. 3J, the user caninteract with the application associated with portion 312 via itsinterface (e.g., switch from the message conversation with “Joe Friend”to a message conversation with “Cool Cat,” and/or the like).

At (238), computing device 40 (e.g., the dynamic keyboard interface,and/or the like) can generate data indicating such context(s) and cancommunicate such data to computing system 112, which can receive thedata and update the record(s) regarding the corpus of animated imagesbased at least in part thereon. In some embodiments, the data indicatingthe context(s) can indicate data presented by and/or input into thedynamic keyboard interface, the application associated with portion 312,and/or the like (e.g., “Let's go to the shore.”; and/or the like).

Based at least in part on the data indicating the current context(s),the data indicating the previous context(s) (e.g., received at (210),(224), and/or the like), the data indicating the previous selection(s),selection type(s), particular animated image(s) selected, and/or thelike (e.g., received at (218), (232), and/or the like), the record(s)regarding the corpus of animated images, and/or the like, at (240),computing system 112 can identify a plurality of different animatedimages associated with the current context(s) for presentation by thedynamic keyboard interface in association with the applicationassociated with portion 312 (e.g., animated images relevant, responsive,and/or the like to the current context(s)). In some embodiments, one ormore of the plurality of different animated images associated with thecurrent context(s) can include one or more advertisements.

Based at least in part on the data indicating the current context(s),the data indicating the previous context(s) (e.g., received at (210),(224), and/or the like), the data indicating the previous selection(s),selection type(s), particular animated image(s) selected, and/or thelike (e.g., received at (218), (232), and/or the like), the record(s)regarding the corpus of animated images, and/or the like, computingsystem 112 can determine, for each of one or more animated imagesincluded in the plurality of different animated images associated withthe current context(s), a position within the dynamic keyboard interfacefor presenting the animated image.

Referring to FIG. 2C, at (242), computing system 112 can generate dataindicating the plurality of different animated images associated withthe current context(s), their respective determined positions, and/orthe like and can communicate such data to computing device 40 (e.g., tothe dynamic keyboard interface), which can receive the data.

Referring to FIG. 3K, responsive to the user invoking element 320,and/or the like, the dynamic keyboard interface can toggle (e.g., fromthe qwerty keyboard, and/or the like) to the illustrated animated-imagekeyboard, and/or the like, which can present the plurality of differentanimated images associated with the current context(s) based at least inpart on their respective determined positions. For example, theplurality of different animated images associated with the currentcontext(s) can be presented in an ordered, sorted, and/or the likefashion (e.g., animated images determined to be more relevant,responsive, and/or the like to the current context(s) can be presentedearlier, more prominently, and/or the like).

As illustrated, multiple different animated images from the plurality ofdifferent animated images associated with the current context(s) can besimultaneously displayed by the dynamic keyboard interface alongside oneanother. For example, the dynamic keyboard interface can simultaneouslydisplay animated images 324, 328, 330, and 332, amongst others of theplurality of different animated images associated with the currentcontext(s), and/or the like.

In some embodiments, the animated image(s) included in the plurality ofdifferent animated images associated with the current context(s) caninclude one or more of the particular animated image(s) previouslyselected (e.g., animated images 324, 330, 332, and/or the like). In someof such embodiments, the position within the dynamic keyboard interfacefor presenting such particular animated image(s) can be determined basedat least in part on their having been previously selected, the previouscontext(s) associated with their selection, and/or the like. Forexample, such particular animated image(s) can be presented earlier,more prominently, and/or the like than they otherwise would have been(e.g., absent their previous selection, and/or the like). In someembodiments, one or more of such particular animated image(s) caninclude one or more advertisements.

As previously indicated, in some embodiments, the data indicating thecurrent context(s) can indicate data presented by and/or input into thedynamic keyboard interface, the application associated with portion 312,and/or the like (e.g., “Let's go to the shore.”; and/or the like). Insome of such embodiments, for one or more animated images of theanimated image(s) included in the plurality of different animated imagesassociated with the current context(s) (e.g., animated images 324, 330,332, and/or the like), determining the position(s) within the dynamickeyboard interface for presenting such animated image(s) can includedetermining the data presented by and/or input into the dynamic keyboardinterface, one or more applications associated with one or more of theprevious context(s), and/or the like indicated by the data indicatingone or more of the previous context(s) (e.g., “We're at the coast.”;“Nice! Enjoy the beach.”; and/or the like) corresponds at least in partto the data presented by and/or input into the dynamic keyboardinterface, the application associated with portion 312, and/or the likeindicated by the data indicating the current context(s) (e.g., “Let's goto the shore.”; and/or the like).

In some embodiments, data indicating one or more of the previouscontext(s) can indicate a human-language setting associated with a userdevice on which the application associated with the previous context isexecuted; a geographic area to which such user device is registered; anetwork identifier associated with such user device; a geographiclocation of such user device associated with the selection of theparticular animated image(s); a time associated with the selection ofthe particular animated image(s); a time of day associated with theselection of the particular animated image(s); a date associated withthe selection of the particular animated image(s); a day of weekassociated with the selection of the particular animated image(s); amonth associated with the selection of the particular animated image(s);a year associated with the selection of the particular animatedimage(s); a size of an audience associated with the selection of theparticular animated image(s); an entity that provided one or more of theparticular animated image(s) and/or content included in one or more ofthe particular animated image(s); and/or the like. In some of suchembodiments, the data indicating the current context(s) can include datacorresponding at least in part to the human-language setting, thegeographic area, the network identifier, the geographic location, thetime, the time of day, the date, the day of week, the month, the year,the size of the audience, the entity, and/or the like.

In some embodiments, data indicating one or more of the previouscontext(s) can indicate an animated image previously selected via thedynamic keyboard interface, a time when the animated image previouslyselected via the dynamic keyboard interface was selected, and/or thelike. In some of such embodiments, the data indicating the currentcontext(s) can include data indicating selection of the animated imagepreviously selected via the dynamic keyboard interface, a timeassociated with the selection of the animated image previously selectedvia the dynamic keyboard interface, and/or the like.

In some embodiments, data indicating one or more of the previouscontext(s); the data indicating the previous selection(s), selectiontype(s), particular animated image(s) selected, and/or the like; therecord(s) regarding the corpus of animated images; and/or the like canindicate an amount of time between the selection of the particularanimated image(s) and a time when the plurality of different animatedimages including the particular animated image(s) was presented by thedynamic keyboard interface, a time when the particular animated image(s)selected were initially made available for selection from amongst suchplurality of different animated images by the dynamic keyboardinterface, and/or the like. In some of such embodiments, for at leastone animated image of the animated image(s) included in the plurality ofdifferent animated images associated with the current context(s),determining the position within the dynamic keyboard interface forpresenting such animated image can include determining such positionbased at least in part on the data indicating the amount of time.

In some embodiments, determining such position based at least in part onthe data indicating the amount of time can include normalizing the dataindicating the amount of time based at least in part on a position ofsuch animated image within the dynamic keyboard interface when theplurality of different animated images including the particular animatedimage(s) was presented by the dynamic keyboard interface, a position ofsuch animated image within the dynamic keyboard interface when suchanimated image was initially made available for selection from amongstthe plurality of different animated images including the particularanimated image(s) by the dynamic keyboard interface, and/or the like.

At (244), a user can select one or more particular animated images fromamongst the plurality of different animated images associated with thecurrent context(s) via the dynamic keyboard interface. For example,referring to FIG. 3L, the user can select animated image 324 forcommunication by the dynamic keyboard interface to the applicationassociated with portion 312, and/or the like, and, referring to FIG. 3M,responsive to the user invoking element 318, and/or the like, thedynamic keyboard interface can communicate animated image 324 to theapplication associated with portion 312, and/or the like.

At (246), computing device 40 can generate data indicating theselection(s), selection type(s) (e.g., for communication to theapplication associated with portion 312, and/or the like), particularanimated image(s) selected (e.g., animated image 324, and/or the like)and can communicate such data to computing system 112, which can receivethe data and, at (248), can update the record(s) regarding the corpus ofanimated images based at least in part thereon.

At (250), a user can perform one or more actions that provide one ormore different and distinct current contexts associated with computingdevice 40. For example, referring to FIG. 3N, the user can switch fromthe application (e.g., the messaging application, and/or the like)associated with element 302 to the application (e.g., the emailapplication, and/or the like) associated with element 304. Portion 334can be associated with the application associated with element 304, and,as illustrated, the dynamic keyboard interface can be provided inassociation with such application. The context(s) provided can be ofcomputing device 40, the dynamic keyboard interface, the applicationassociated with portion 334, and/or the like.

At (252), computing device 40 (e.g., the dynamic keyboard interface,and/or the like) can generate data indicating such context(s) and cancommunicate such data to computing system 112, which can receive thedata and update the record(s) regarding the corpus of animated imagesbased at least in part thereon. In some embodiments, the data indicatingthe context(s) can indicate data presented by and/or input into thedynamic keyboard interface, the application associated with portion 334,and/or the like (e.g., “I'm going to be at the coast.”; and/or thelike).

Based at least in part on the data indicating the current context(s),the data indicating the previous context(s) (e.g., received at (210),(224), (238), and/or the like), the data indicating the previousselection(s), selection type(s), particular animated image(s) selected,and/or the like (e.g., received at (218), (232), (246), and/or thelike), the record(s) regarding the corpus of animated images, and/or thelike, at (254), computing system 112 can identify a plurality ofdifferent animated images associated with the current context(s) forpresentation by the dynamic keyboard interface in association with theapplication associated with portion 334 (e.g., animated images relevant,responsive, and/or the like to the current context(s)). In someembodiments, one or more of the plurality of different animated imagesassociated with the current context(s) can include one or moreadvertisements.

Based at least in part on the data indicating the current context(s),the data indicating the previous context(s) (e.g., received at (210),(224), (238), and/or the like), the data indicating the previousselection(s), selection type(s), particular animated image(s) selected,and/or the like (e.g., received at (218), (232), (246), and/or thelike), the record(s) regarding the corpus of animated images, and/or thelike, computing system 112 can determine, for each of one or moreanimated images included in the plurality of different animated imagesassociated with the current context(s), a position within the dynamickeyboard interface for presenting the animated image.

At (256), computing system 112 can generate data indicating theplurality of different animated images associated with the currentcontext(s), their respective determined positions, and/or the like andcan communicate such data to computing device 40 (e.g., to the dynamickeyboard interface), which can receive the data.

Referring to FIG. 3O, responsive to the user invoking element 320,and/or the like, the dynamic keyboard interface can toggle (e.g., fromthe qwerty keyboard, and/or the like) to the illustrated animated-imagekeyboard, and/or the like, which can present the plurality of differentanimated images associated with the current context(s) based at least inpart on their respective determined positions. For example, theplurality of different animated images associated with the currentcontext(s) can be presented in an ordered, sorted, and/or the likefashion (e.g., animated images determined to be more relevant,responsive, and/or the like to the current context(s) can be presentedearlier, more prominently, and/or the like).

As illustrated, multiple different animated images from the plurality ofdifferent animated images associated with the current context(s) can besimultaneously displayed by the dynamic keyboard interface alongside oneanother. For example, the dynamic keyboard interface can simultaneouslydisplay animated images 324, 328, 330, and 332, amongst others of theplurality of different animated images associated with the currentcontext(s), and/or the like.

In some embodiments, the animated image(s) included in the plurality ofdifferent animated images associated with the current context(s) caninclude one or more of the particular animated image(s) previouslyselected (e.g., animated images 324, 330, 332, and/or the like). In someof such embodiments, the position within the dynamic keyboard interfacefor presenting such particular animated image(s) can be determined basedat least in part on their having been previously selected, the previouscontext(s) associated with their selection, and/or the like. Forexample, such particular animated image(s) can be presented earlier,more prominently, and/or the like than they otherwise would have been(e.g., absent their previous selection, and/or the like). In someembodiments, one or more of such particular animated image(s) caninclude one or more advertisements.

As previously indicated, in some embodiments, the data indicating thecurrent context(s) can indicate data presented by and/or input into thedynamic keyboard interface, the application associated with portion 334,and/or the like (e.g., “I'm going to be at the coast”; and/or the like).In some of such embodiments, for one or more animated images of theanimated image(s) included in the plurality of different animated imagesassociated with the current context(s) (e.g., animated images 324, 330,332, and/or the like), determining the position(s) within the dynamickeyboard interface for presenting such animated image(s) can includedetermining the data presented by and/or input into the dynamic keyboardinterface, one or more applications associated with one or more of theprevious context(s), and/or the like indicated by the data indicatingone or more of the previous context(s) (e.g., “We're at the coast”;“Nice! Enjoy the beach.”; “Let's go to the shore.”; and/or the like)corresponds at least in part to the data presented by and/or input intothe dynamic keyboard interface, the application associated with portion334, and/or the like indicated by the data indicating the currentcontext(s) (e.g., “I'm going to be at the coast”; and/or the like).

At (258), a user can perform one or more actions that provide one ormore different and distinct current contexts associated with computingdevice 40. The context(s) provided can be of computing device 40, thedynamic keyboard interface, the application associated with portion 334,and/or the like. For example, referring to FIG. 3P, the user can invokeelement 322 and utilize the illustrated keyboard to input one or moresearch terms (e.g., “shell,” and/or the like).

At (260), computing device 40 (e.g., the dynamic keyboard interface,and/or the like) can generate data indicating such context(s) and cancommunicate such data to computing system 112, which can receive thedata and update the record(s) regarding the corpus of animated imagesbased at least in part thereon. In some embodiments, the data indicatingthe context(s) can indicate the inputted search term(s), and/or thelike.

Referring to FIG. 2D, based at least in part on the data indicating thecurrent context(s), the data indicating the previous context(s) (e.g.,received at (210), (224), (238), (252), and/or the like), the dataindicating the previous selection(s), selection type(s), particularanimated image(s) selected, and/or the like (e.g., received at (218),(232), (246), and/or the like), the record(s) regarding the corpus ofanimated images, and/or the like, at (262), computing system 112 canidentify a plurality of different animated images associated with thecurrent context(s) for presentation by the dynamic keyboard interface inassociation with the application associated with portion 334 (e.g.,animated images relevant, responsive, and/or the like to the currentcontext(s)). In some embodiments, one or more of the plurality ofdifferent animated images associated with the current context(s) caninclude one or more advertisements.

Based at least in part on the data indicating the current context(s),the data indicating the previous context(s) (e.g., received at (210),(224), (238), (252), and/or the like), the data indicating the previousselection(s), selection type(s), particular animated image(s) selected,and/or the like (e.g., received at (218), (232), (246), and/or thelike), the record(s) regarding the corpus of animated images, and/or thelike, computing system 112 can determine, for each of one or moreanimated images included in the plurality of different animated imagesassociated with the current context(s), a position within the dynamickeyboard interface for presenting the animated image.

At (264), computing system 112 can generate data indicating theplurality of different animated images associated with the currentcontext(s), their respective determined positions, and/or the like andcan communicate such data to computing device 40 (e.g., to the dynamickeyboard interface), which can receive the data and, referring to FIG.3Q, can toggle (e.g., from the qwerty keyboard, and/or the like) to theillustrated animated-image keyboard, and/or the like, which can presentthe plurality of different animated images associated with the currentcontext(s) based at least in part on their respective determinedpositions. For example, the plurality of different animated imagesassociated with the current context(s) can be presented in an ordered,sorted, and/or the like fashion (e.g., animated images determined to bemore relevant, responsive, and/or the like to the current context(s) canbe presented earlier, more prominently, and/or the like).

As illustrated, multiple different animated images from the plurality ofdifferent animated images associated with the current context(s) can besimultaneously displayed by the dynamic keyboard interface alongside oneanother. For example, the dynamic keyboard interface can simultaneouslydisplay animated images 326, 330, and 332, amongst others of theplurality of different animated images associated with the currentcontext(s), and/or the like.

In some embodiments, the animated image(s) included in the plurality ofdifferent animated images associated with the current context(s) caninclude one or more of the particular animated image(s) previouslyselected (e.g., animated images 330, 332, and/or the like). In some ofsuch embodiments, the position within the dynamic keyboard interface forpresenting such particular animated image(s) can be determined based atleast in part on their having been previously selected, the previouscontext(s) associated with their selection, and/or the like. Forexample, such particular animated image(s) can be presented earlier,more prominently, and/or the like than they otherwise would have been(e.g., absent their previous selection, and/or the like). In someembodiments, one or more of such particular animated image(s) caninclude one or more advertisements.

In some embodiments, for at least one animated image of the animatedimage(s) included in the plurality of different animated imagesassociated with the current context(s), determining the position withinthe dynamic keyboard interface for presenting such animated image caninclude determining, based at least in part on previously received dataindicating the selection of such animated image, a selection frequencyfor such animated image. In some of such embodiments, the position forsuch animated image can be determined based at least in part on theselection frequency for such animated image, one or more selectionfrequencies for such position, and/or the like.

In some embodiments, computing system 112 can determine the one or moreselection frequencies for such position based at least in part on dataindicating one or more selection frequencies for one or more animatedimages previously presented in such position within the dynamic keyboardinterface. In some embodiments, the animated image(s) previouslypresented in such position can include one or more animated images thatdo not include advertisement content. Additionally or alternatively, theanimated image(s) previously presented in such position can include oneor more animated images comprising one or more advertisements differentfrom an advertisement included in the animated image for which theposition is being determined. In some embodiments, computing system 112can determine the one or more selection frequencies for such positionbased at least in part on data indicating one or more previous contextsfor which the animated image(s) were previously presented in suchposition.

At (266), a user can select one or more particular animated images fromamongst the plurality of different animated images associated with thecurrent context(s) via the dynamic keyboard interface. For example, theuser can select animated image 326 for communication by the dynamickeyboard interface to the application associated with portion 334,and/or the like, and, referring to FIG. 3R, the dynamic keyboardinterface can communicate animated image 326 to the applicationassociated with portion 334, and/or the like.

At (268), computing device 40 can generate data indicating theselection(s), selection type(s) (e.g., for communication to theapplication associated with portion 334, and/or the like), particularanimated image(s) selected (e.g., animated image 326, and/or the like)and can communicate such data to computing system 112, which can receivethe data and, at (270), can update the record(s) regarding the corpus ofanimated images based at least in part thereon.

At (272), a user can perform one or more actions that provide one ormore different and distinct current contexts associated with computingdevice 50. The context(s) provided can be of computing device 50, thedynamic keyboard interface, the application associated with portion 312,and/or the like. For example, referring to FIG. 3S, the user caninteract with the application associated with portion 312 via itsinterface (e.g., switch to a message conversation with “John S.,” and/orthe like).

At (274), computing device 50 (e.g., the dynamic keyboard interface,and/or the like) can generate data indicating such context(s) and cancommunicate such data to computing system 112, which can receive thedata and update the record(s) regarding the corpus of animated imagesbased at least in part thereon. In some embodiments, the data indicatingthe context(s) can indicate data presented by and/or input into thedynamic keyboard interface, the application associated with portion 312,and/or the like (e.g., “consectetur shore,” and/or the like).

Based at least in part on the data indicating the current context(s),the data indicating the previous context(s) (e.g., received at (210),(224), (238), (252), (260), and/or the like), the data indicating theprevious selection(s), selection type(s), particular animated image(s)selected, and/or the like (e.g., received at (218), (232), (246), (268),and/or the like), the record(s) regarding the corpus of animated images,and/or the like, at (276), computing system 112 can identify a pluralityof different animated images associated with the current context(s) forpresentation by the dynamic keyboard interface in association with theapplication associated with portion 312 (e.g., animated images relevant,responsive, and/or the like to the current context(s)). In someembodiments, one or more of the plurality of different animated imagesassociated with the current context(s) can include one or moreadvertisements.

Based at least in part on the data indicating the current context(s),the data indicating the previous context(s) (e.g., received at (210),(224), (238), (252), (260), and/or the like), the data indicating theprevious selection(s), selection type(s), particular animated image(s)selected, and/or the like (e.g., received at (218), (232), (246), (268),and/or the like), the record(s) regarding the corpus of animated images,and/or the like, computing system 112 can determine, for each of one ormore animated images included in the plurality of different animatedimages associated with the current context(s), a position within thedynamic keyboard interface for presenting the animated image.

At (278), computing system 112 can generate data indicating theplurality of different animated images associated with the currentcontext(s), their respective determined positions, and/or the like andcan communicate such data to computing device 50 (e.g., to the dynamickeyboard interface), which can receive the data.

Referring to FIG. 3T, responsive to the user invoking element 320,and/or the like, the dynamic keyboard interface can toggle (e.g., fromthe qwerty keyboard, and/or the like) to the illustrated animated-imagekeyboard, and/or the like, which can present the plurality of differentanimated images associated with the current context(s) based at least inpart on their respective determined positions. For example, theplurality of different animated images associated with the currentcontext(s) can be presented in an ordered, sorted, and/or the likefashion (e.g., animated images determined to be more relevant,responsive, and/or the like to the current context(s) can be presentedearlier, more prominently, and/or the like).

As illustrated, multiple different animated images from the plurality ofdifferent animated images associated with the current context(s) can besimultaneously displayed by the dynamic keyboard interface alongside oneanother. For example, the dynamic keyboard interface can simultaneouslydisplay animated images 324, 328, 330, and 332, amongst others of theplurality of different animated images associated with the currentcontext(s), and/or the like.

In some embodiments, the animated image(s) included in the plurality ofdifferent animated images associated with the current context(s) caninclude one or more of the particular animated image(s) previouslyselected (e.g., animated images 324, 330, 332, and/or the like). In someof such embodiments, the position within the dynamic keyboard interfacefor presenting such particular animated image(s) can be determined basedat least in part on their having been previously selected, the previouscontext(s) associated with their selection, and/or the like. Forexample, such particular animated image(s) can be presented earlier,more prominently, and/or the like than they otherwise would have been(e.g., absent their previous selection, and/or the like). In someembodiments, one or more of such particular animated image(s) caninclude one or more advertisements.

As previously indicated, in some embodiments, the data indicating thecurrent context(s) can indicate data presented by and/or input into thedynamic keyboard interface, the application associated with portion 312,and/or the like (e.g., “consectetur shore,” and/or the like). In some ofsuch embodiments, for one or more animated images of the animatedimage(s) included in the plurality of different animated imagesassociated with the current context(s) (e.g., animated images 324, 330,332, and/or the like), determining the position(s) within the dynamickeyboard interface for presenting such animated image(s) can includedetermining the data presented by and/or input into the dynamic keyboardinterface, one or more applications associated with one or more of theprevious context(s), and/or the like indicated by the data indicatingone or more of the previous context(s) (e.g., “We're at the coast.”;“Nice! Enjoy the beach.”; “Let's go to the shore.”; “I'm going to be atthe coast.”; and/or the like) corresponds at least in part to the datapresented by and/or input into the dynamic keyboard interface, theapplication associated with portion 312, and/or the like indicated bythe data indicating the current context(s) (e.g., “consectetur shore,”and/or the like).

At (280), a user can select one or more particular animated images fromamongst the plurality of different animated images associated with thecurrent context(s) via the dynamic keyboard interface. For example,referring to FIG. 3U, the user can select animated image 328 forcommunication by the dynamic keyboard interface to the applicationassociated with portion 312, and/or the like, and, referring to FIG. 3V,responsive to the user invoking element 318, and/or the like, thedynamic keyboard interface can communicate animated image 328 to theapplication associated with portion 312, and/or the like.

Referring to FIG. 2E, at (282), computing device 50 can generate dataindicating the selection(s), selection type(s) (e.g., for communicationto the application associated with portion 312, and/or the like),particular animated image(s) selected (e.g., animated image 328, and/orthe like) and can communicate such data to computing system 112, whichcan receive the data and, at (284), can update the record(s) regardingthe corpus of animated images based at least in part thereon.

At (286), a user can perform one or more actions that provide one ormore different and distinct current contexts associated with computingdevice 50. For example, referring to FIG. 3W, the user can switch fromthe application (e.g., the messaging application, and/or the like)associated with element 302 to the application (e.g., the emailapplication, and/or the like) associated with element 304. Thecontext(s) provided can be of computing device 50, the dynamic keyboardinterface, the application associated with portion 334, and/or the like.

At (288), computing device 50 (e.g., the dynamic keyboard interface,and/or the like) can generate data indicating such context(s) and cancommunicate such data to computing system 112, which can receive thedata and update the record(s) regarding the corpus of animated imagesbased at least in part thereon. In some embodiments, the data indicatingthe context(s) can indicate data presented by and/or input into thedynamic keyboard interface, the application associated with portion 334,and/or the like (e.g., “consectetur shore,” and/or the like).

Based at least in part on the data indicating the current context(s),the data indicating the previous context(s) (e.g., received at (210),(224), (238), (252), (260), (274), and/or the like), the data indicatingthe previous selection(s), selection type(s), particular animatedimage(s) selected, and/or the like (e.g., received at (218), (232),(246), (268), (282), and/or the like), the record(s) regarding thecorpus of animated images, and/or the like, at (290), computing system112 can identify a plurality of different animated images associatedwith the current context(s) for presentation by the dynamic keyboardinterface in association with the application associated with portion334 (e.g., animated images relevant, responsive, and/or the like to thecurrent context(s)). In some embodiments, one or more of the pluralityof different animated images associated with the current context(s) caninclude one or more advertisements.

Based at least in part on the data indicating the current context(s),the data indicating the previous context(s) (e.g., received at (210),(224), (238), (252), (260), (274), and/or the like), the data indicatingthe previous selection(s), selection type(s), particular animatedimage(s) selected, and/or the like (e.g., received at (218), (232),(246), (268), (282), and/or the like), the record(s) regarding thecorpus of animated images, and/or the like, computing system 112 candetermine, for each of one or more animated images included in theplurality of different animated images associated with the currentcontext(s), a position within the dynamic keyboard interface forpresenting the animated image.

At (292), computing system 112 can generate data indicating theplurality of different animated images associated with the currentcontext(s), their respective determined positions, and/or the like andcan communicate such data to computing device 50 (e.g., to the dynamickeyboard interface), which can receive the data.

Referring to FIG. 3X, responsive to the user invoking element 320,and/or the like, the dynamic keyboard interface can toggle (e.g., fromthe qwerty keyboard, and/or the like) to the illustrated animated-imagekeyboard, and/or the like, which can present the plurality of differentanimated images associated with the current context(s) based at least inpart on their respective determined positions. For example, theplurality of different animated images associated with the currentcontext(s) can be presented in an ordered, sorted, and/or the likefashion (e.g., animated images determined to be more relevant,responsive, and/or the like to the current context(s) can be presentedearlier, more prominently, and/or the like).

As illustrated, multiple different animated images from the plurality ofdifferent animated images associated with the current context(s) can besimultaneously displayed by the dynamic keyboard interface alongside oneanother. For example, the dynamic keyboard interface can simultaneouslydisplay animated images 324, 328, 330, and 332, amongst others of theplurality of different animated images associated with the currentcontext(s), and/or the like.

In some embodiments, the animated image(s) included in the plurality ofdifferent animated images associated with the current context(s) caninclude one or more of the particular animated image(s) previouslyselected (e.g., animated images 324, 328, 330, 332, and/or the like). Insome of such embodiments, the position within the dynamic keyboardinterface for presenting such particular animated image(s) can bedetermined based at least in part on their having been previouslyselected, the previous context(s) associated with their selection,and/or the like. For example, such particular animated image(s) can bepresented earlier, more prominently, and/or the like than they otherwisewould have been (e.g., absent their previous selection, and/or thelike). In some embodiments, one or more of such particular animatedimage(s) can include one or more advertisements.

As previously indicated, in some embodiments, the data indicating thecurrent context(s) can indicate data presented by and/or input into thedynamic keyboard interface, the application associated with portion 334,and/or the like (e.g., “consectetur shore,” and/or the like). In some ofsuch embodiments, for one or more animated images of the animatedimage(s) included in the plurality of different animated imagesassociated with the current context(s) (e.g., animated images 324, 328,330, 332, and/or the like), determining the position(s) within thedynamic keyboard interface for presenting such animated image(s) caninclude determining the data presented by and/or input into the dynamickeyboard interface, one or more applications associated with one or moreof the previous context(s), and/or the like indicated by the dataindicating one or more of the previous context(s) (e.g., “We're at thecoast”; “Nice! Enjoy the beach.”; “Let's go to the shore.”; “I'm goingto be at the coast”; “consectetur shore”; and/or the like) correspondsat least in part to the data presented by and/or input into the dynamickeyboard interface, the application associated with portion 334, and/orthe like indicated by the data indicating the current context(s) (e.g.,“consectetur shore,” and/or the like).

At (294), a user can select one or more particular animated images fromamongst the plurality of different animated images associated with thecurrent context(s) via the dynamic keyboard interface. For example, theuser can select animated image 328 for communication by the dynamickeyboard interface to the application associated with portion 334,and/or the like, and, referring to FIG. 3Y, the dynamic keyboardinterface can communicate animated image 328 to the applicationassociated with portion 334, and/or the like.

At (296), computing device 50 can generate data indicating theselection(s), selection type(s) (e.g., for communication to theapplication associated with portion 334, and/or the like), particularanimated image(s) selected (e.g., animated image 328, and/or the like)and can communicate such data to computing system 112, which can receivethe data and, at (298), can update the record(s) regarding the corpus ofanimated images based at least in part thereon.

FIG. 4 depicts an example method according to example embodiments of thepresent disclosure.

Referring to FIG. 4 , at (402), one or more computing devices canreceive data indicating a context of: a dynamic keyboard interfaceprovided in association with an application, and/or the application. Forexample, computing system 112 can receive, from computing device 40,data indicating a context of: the dynamic keyboard interface provided inassociation with the application associated with portion 312 (e.g., themessaging application, and/or the like), and/or the applicationassociated with portion 312.

At (404), the computing device(s) can identify, based at least in parton the data indicating the context, a plurality of different animatedimages for presentation by the dynamic keyboard interface in associationwith the application. For example, computing system 112 can identify,based at least in part on the data received from computing device 40,the plurality of different animated images included in theanimated-image keyboard depicted by FIG. 3D (e.g., animated images 324,326, 328, and/or the like) for presentation by the dynamic keyboardinterface in association with the application associated with portion312.

At (406), the computing device(s) can communicate, to a user device,data indicating the plurality of different animated images. For example,computing system 112 can communicate, to computing device 40, dataindicating the plurality of different animated images included in theanimated-image keyboard depicted by FIG. 3D (e.g., animated images 324,326, 328, and/or the like).

At (408), the computing device(s) can receive, from the user device,data indicating selection of a particular animated image from amongstthe plurality of different animated images. For example, computingsystem 112 can receive, from computing device 40, data indicatingselection of animated image 324.

At (410), the computing device(s) can receive data indicating asubsequent context of: the dynamic keyboard interface, the application,and/or a different and distinct application in association with whichthe dynamic keyboard interface is provided. For example, computingsystem 112 can receive, from computing device 50, data indicating acontext of: the application associated with portion 334 (e.g., the emailapplication, and/or the like), and/or the dynamic keyboard interfaceprovided in association therewith.

At (412), the computing device(s) can identify, based at least in parton the data indicating the subsequent context, a plurality of differentanimated images that includes the particular animated image. Forexample, computing system 112 can identify, based at least in part onthe data received from computing device 50, the plurality of differentanimated images included in the animated-image keyboard depicted by FIG.3X (e.g., animated images 324, 328, 330, 332, and/or the like) forpresentation by the dynamic keyboard interface in association with theapplication associated with portion 334.

At (414), the computing device(s) can determine, based at least in parton the data indicating the selection and the data indicating thecontext, a position within the dynamic keyboard interface for presentingthe particular animated image in response to data indicating thesubsequent context. For example, computing system 112 can identify,based at least in part on the data indicating the selection of animatedimage 324, a position within the dynamic keyboard interface forpresenting animated image 324 in response to data indicating the contextof: the application associated with portion 334 (e.g., the emailapplication, and/or the like), and/or the dynamic keyboard interfaceprovided in association therewith.

The technology discussed herein makes reference to servers, databases,software applications, and/or other computer-based systems, as well asactions taken and information sent to and/or from such systems. Theinherent flexibility of computer-based systems allows for a greatvariety of possible configurations, combinations, and/or divisions oftasks and/or functionality between and/or among components. Forinstance, processes discussed herein can be implemented using a singledevice or component and/or multiple devices or components working incombination. Databases and/or applications can be implemented on asingle system and/or distributed across multiple systems. Distributedcomponents can operate sequentially and/or in parallel.

Various connections between elements are discussed in the abovedescription. These connections are general and, unless specifiedotherwise, can be direct and/or indirect, wired and/or wireless. In thisrespect, the specification is not intended to be limiting.

The depicted and/or indicated steps are merely illustrative and can beomitted, combined, and/or performed in an order other than that depictedand/or indicated; the numbering of depicted steps is merely for ease ofreference and does not imply any particular ordering is necessary orpreferred.

The functions and/or steps indicated herein can be embodied incomputer-usable data and/or computer-executable instructions, executedby one or more computers and/or other devices to perform one or morefunctions indicated herein. Generally, such data and/or instructionsinclude routines, programs, objects, components, data structures, or thelike that perform particular tasks and/or implement particular datatypes when executed by one or more processors in a computer and/or otherdata-processing device. The computer-executable instructions can bestored on a computer-readable medium such as a hard disk, optical disk,removable storage media, solid-state memory, read-only memory (ROM),random-access memory (RAM), or the like. As will be appreciated, thefunctionality of such instructions can be combined and/or distributed asdesired. In addition, the functionality can be embodied in whole or inpart in firmware and/or hardware equivalents, such as integratedcircuits, application-specific integrated circuits (ASICs),field-programmable gate arrays (FPGAs), or the like. Particular datastructures can be used to more effectively implement one or more aspectsof the disclosure, and such data structures are contemplated to bewithin the scope of computer-executable instructions and/orcomputer-usable data indicated herein.

Although not required, one of ordinary skill in the art will appreciatethat various aspects indicated herein can be embodied as a method,system, apparatus, and/or one or more computer-readable media storingcomputer-executable instructions. Accordingly, aspects can take the formof an entirely hardware embodiment, an entirely software embodiment, anentirely firmware embodiment, and/or an embodiment combining software,hardware, and/or firmware aspects in any combination.

As indicated herein, the various methods and acts can be operativeacross one or more computing devices and/or networks. The functionalitycan be distributed in any manner or can be located in a single computingdevice (e.g., server, client computer, user device, or the like).

Aspects of the disclosure have been indicated in terms of illustrativeembodiments thereof. Numerous other embodiments, modifications, and/orvariations within the scope and spirit of the appended claims can occurto persons of ordinary skill in the art from a review of thisdisclosure. For example, one or ordinary skill in the art can appreciatethat the steps depicted and/or indicated can be performed in other thanthe recited order and/or that one or more illustrated steps can beoptional and/or combined. Any and all features in the following claimscan be combined and/or rearranged in any way possible.

While the present subject matter has been indicated in detail withrespect to various specific example embodiments thereof, each example isprovided by way of explanation, not limitation of the disclosure. Thoseskilled in the art, upon attaining an understanding of the foregoing,can readily produce alterations to, variations of, and/or equivalents tosuch embodiments. Accordingly, the subject disclosure does not precludeinclusion of such modifications, variations, and/or additions to thepresent subject matter as would be readily apparent to one of ordinaryskill in the art. For instance, features illustrated and/or indicated aspart of one embodiment can be used with another embodiment to yield astill further embodiment. Thus, it is intended that the presentdisclosure cover such alterations, variations, and/or equivalents.

1.-20. (canceled)
 21. A computer-implemented method, the methodcomprising: receiving, by one or more computing devices, data indicatinga selection of a particular animated image from amongst a plurality ofdifferent animated images presented by a dynamic keyboard interfaceprovided in association with an application; receiving, by the one ormore computing devices, data indicating a context associated with atleast one of the dynamic keyboard interface or the application, whereinthe data indicating the context comprises a previous animated imageassociated with a previous interaction, wherein the previous interactioncomprises a reply with the particular animated image in response toreceiving the previous animated image; determining, by the one or morecomputing devices, a frequency of sequential interactions between theparticular animated image and the previous animated image, wherein thesequential interactions comprise the particular animated image beingselected as the reply in response to receiving the previous animatedimage; and determining, by the one or more computing devices and basedat least in part on the data indicating the selection, the frequency ofsequential interactions, a position within the dynamic keyboardinterface for presenting the particular animated image in response todata indicating a subsequent context that corresponds to the dataindicating the context.
 22. The method of claim 21, wherein the dynamickeyboard interface comprises one or more interface element to togglebetween a plurality of different keyboards.
 23. The method of claim 22,wherein the plurality of different keyboards comprise a plurality ofdifferent language keyboards associated with a plurality of differentlanguages.
 24. The method of claim 22, wherein the plurality ofdifferent keyboards comprise an animated image keyboard and one or morealphabet keyboards, wherein the one or more alphabet keyboards comprisesa qwerty keyboard.
 25. The method of claim 21, wherein determining theposition within the dynamic keyboard interface for presenting theparticular animated image comprises: determining a selection frequencyfor the particular animated image when displayed; and determining theposition based at least in part on the selection frequency and one ormore selection frequencies for the position.
 26. The method of claim 21,wherein the data indicating context further comprises data associatedwith a plurality of distinct computer applications.
 27. The method ofclaim 21, further comprising: receiving, by the one or more computingdevices, a selection of a user invoking element of the dynamic keyboardinterface, wherein the user invoking element is configured to beselected to toggle between various different keyboards of the dynamickeyboard interface.
 28. The method of claim 21, further comprising:providing, by the one or more computing devices, an alphabet keyboardfor display in the dynamic keyboard interface; receiving, by the one ormore computing devices, a selection of a user invoking element of thedynamic keyboard interface; and providing, by the one or more computingdevices, the particular animated image for display in an animated-imagekeyboard in the dynamic keyboard interface.
 29. The method of claim 21,wherein the particular animated image comprises a graphics interchangeformat image.
 30. The method of claim 21, wherein the particularanimated image is provided for display with a plurality of otheranimated images, wherein specific positions of at least a portion of theplurality of other animated images are determined based on the frequencyof sequential interactions.
 31. The method of claim 30, wherein theplurality of other animated images comprise one or more advertisements.32. A computing system, the computing system comprising: one or moreprocessors; and one or more non-transitory computer-readable media thatcollectively store instructions that, when executed by the one or moreprocessors, cause the computing system to perform operations, theoperations comprising: receiving data indicating a selection of aparticular animated image from amongst a plurality of different animatedimages presented by a dynamic keyboard interface provided in associationwith an application; receiving data indicating a context associated withat least one of the dynamic keyboard interface or the application,wherein the data indicating the context comprises a previous animatedimage associated with a previous interaction, wherein the previousinteraction comprises a reply with the particular animated image inresponse to receiving the previous animated image; determining afrequency of sequential interactions between the particular animatedimage and the previous animated image, wherein the sequentialinteractions comprise the particular animated image being selected asthe reply in response to receiving the previous animated image; anddetermining, based at least in part on the data indicating theselection, the frequency of sequential interactions, a position withinthe dynamic keyboard interface for presenting the particular animatedimage in response to data indicating a subsequent context thatcorresponds to the data indicating the context.
 33. The system of claim32, wherein the data indicating the context comprises data descriptiveof a size of an audience of a message being composed.
 34. The system ofclaim 32, wherein the data indicating context further comprises dataindicating a selection of a media content item associated with anadvertisement.
 35. The system of claim 34, wherein data indicating theselection comprises receiving the data indicating the selectioncomprises receiving the data indicating the selection from a user deviceon which an application is executed; receiving the data indicating acontext comprises data indicating the context from the user device onwhich the application is executed; and the context comprises a contextof the user device when the user device is providing the dynamickeyboard interface in association with the application.
 36. The systemof claim 32, wherein the data indicating the context further comprises anetwork identifier associated with a user device executing the dynamickeyboard interface.
 37. The system of claim 32, wherein the dataindicating the context further comprises a geographic location of a userdevice executing the dynamic keyboard interface.
 38. The system of claim32, wherein the data indicating the context further comprises ahuman-language setting associated with a user device executing thedynamic keyboard interface.
 39. The system of claim 32, wherein: thedata indicating the context comprises one or more search terms input viathe dynamic keyboard interface; and the data indicating the subsequentcontext comprises at least one of the one or more search terms input viathe dynamic keyboard interface.
 40. One or more non-transitorycomputer-readable media that collectively store instructions that, whenexecuted by one or more computing devices, cause the one or morecomputing devices to perform operations, the operations comprising:receiving data indicating a selection of a particular animated imagefrom amongst a plurality of different animated images presented by adynamic keyboard interface provided in association with an application;receiving data indicating a context associated with at least one of thedynamic keyboard interface or the application, wherein the dataindicating the context comprises a previous animated image associatedwith a previous interaction, wherein the previous interaction comprisesa reply with the particular animated image in response to receiving theprevious animated image; determining a frequency of sequentialinteractions between the particular animated image and the previousanimated image, wherein the sequential interactions comprise theparticular animated image being selected as the reply in response toreceiving the previous animated image; and determining, based at leastin part on the data indicating the selection, the frequency ofsequential interactions, a position within the dynamic keyboardinterface for presenting the particular animated image in response todata indicating a subsequent context that corresponds to the dataindicating the context.